// 初始化配置
const config = {
    apiEndpoint: 'http://localhost:8001/chat',
    typingSpeed: 30, // 打字速度（ms）
    maxWidth: '800px'
};

// DOM 元素缓存
const elements = {
    userInput: document.getElementById('user-input'),
    chatbox: document.getElementById('chatbox'),
    sendButton: document.querySelector('button')
};

let messages = [{
    role: 'system',
    content: '你是一个智能助理，你的回答总是正确的、有用的和内容非常精简。'
}];

// 事件监听
elements.userInput.addEventListener('keydown', e => {
    if (e.key === 'Enter' && !e.shiftKey) {
        e.preventDefault();
        sendMessage();
    }
});

elements.sendButton.addEventListener('click', sendMessage);

async function sendMessage() {
    // ... 保持核心逻辑不变，添加以下优化 ... 
    
    // 添加加载状态
    const loadingDot = document.createElement('div');
    loadingDot.className = 'message assistant-message loading';
    loadingDot.innerHTML = `<div class="dot-flashing"></div>`;
    elements.chatbox.appendChild(loadingDot);
    
    try {
        // 添加打字机效果
        let currentPos = 0;
        const interval = setInterval(() => {
            if (currentPos < assistantResponse.length) {
                assistantMsgDiv.innerHTML = assistantResponse.slice(0, currentPos);
                currentPos++;
                elements.chatbox.scrollTop = elements.chatbox.scrollHeight;
            } else {
                clearInterval(interval);
            }
        }, config.typingSpeed);
        
        // ... 原有流处理逻辑 ...
        
    } catch (error) {
        // 错误处理优化
        console.error('请求错误:', error);
        assistantMsgDiv.innerHTML = `<span class="error">服务暂时不可用，请稍后重试</span>`;
    }
}